package com.uco.oop.extend;

// 权限修饰符 privaste < 缺省 < protected < public
// 子类继承父类的属性和方法，但是只能使用 protected 和 public 修饰符
// 继承只支持多层继承，不支持多继承
// 所有类都是集成Object 类，子类访问成员的原则是：就近原则，指定访问父类中的成员，使用 super.memberName
// 以上都是在类中的访问原则，外部访问都是直接访问该类的成员（方法重写）


// 其他事项：1、重写的方法权限必须比父类的更大 2、重写的方法返回值类型要么一样，要么更小 3、私有方法不能被重写
// 默认 toString方法不会被重写，所以直接打印对象 = 打印对象的 toString方法，可以通过重写 toString来修改打印内容
public class Teacher extends People{
    private String skill;

    public void setSkill(String skill) {
        this.skill = skill;
    }

    public String getSkill() {
        return skill;
    }

    // 方法重写校验注解（方法名+参数）
    @Override
    public void introduce() {
        System.out.println("I am a teacher, my name is " + getName() + ", I teach " + skill);
    }

    public static void walk() {
        System.out.println("Teacher is walking");
    }
}
